package com.bp.flowable.mapper;

import com.bp.flowable.domain.FlowableForm;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author shaominjie
 * @Description TODO
 * @date %{DATE} 8:49
 */
public interface FlowableFormMapper {
    /**
     * 查询流程表单列表
     *
     * @param flowableForm
     * @return
     */
    List<FlowableForm> selectList(FlowableForm flowableForm);
    /**
     * 根据实体名称和字段名称和字段值获取唯一记录
     *
     * @param propertyName
     * @param value
     * @return
     */
    public FlowableForm selectUniqueByProperty(@Param(value = "propertyName") String propertyName, @Param(value = "value") Object value);

    /**
     * 获取单条数据
     *
     * @param id
     * @return
     */
    public FlowableForm selectById(String id);


    /**
     * 插入数据
     *
     * @param flowableForm
     * @return
     */
    public int insert(FlowableForm flowableForm);

    /**
     * 更新数据,空值和null不更新
     *
     * @param flowableForm
     * @return
     */
    public int update(FlowableForm flowableForm);

    /**
     * 删除数据（一般为逻辑删除，更新del_flag字段为1）
     *
     * @param id
     * @return
     * @see public int delete(T entity)
     */
    public int deleteById(String id);

    /**
     * 批量删除
     * @param ids
     * @return
     */
    public int deleteByIds(String[] ids);
}
